// -----------------------------
// Author: 		Dhaenens Gert 
// Creation: 	2/19/2014 12:26:32 PM				
// -----------------------------

#ifndef _IRenderTarget_h
#define _IRenderTarget_h

#include "DxCommon.h"

namespace DxLib
{

	class IRenderDevice;

	class DXLIB IRenderTarget
	{
	public:
		// Create the Interface from a RenderDevice
		static IRenderTarget*	Create(IRenderDevice* lpDevice);
		// Create the Interface
		static IRenderTarget*	Create(IRenderDevice* lpDevice, UInt32 uWidth, UInt32 uHeight, Format format);
		// Release the Interface
		virtual void			Release() = 0;

		// Clear the Render Target
		virtual void			Clear(Float r, Float g, Float b, Float a) = 0;

		// Save the Texture to File
		virtual Bool			SaveTextureToFile(const TChar* lpFile, ImageFileFormat eFileFormat) const = 0;

	};

}

#endif